#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <algorithm>

#define FOR(i,a,n) for(int i=a,_n(n);i<_n;++i)
#define REP(i,n) FOR(i,0,n)

using namespace std;

string s;
char content[1000100];
char st[3];
char key[]="RobaHouGong3000DuoWanOrz";
int main()
{
    freopen("out.txt","r",stdin);
    freopen("test.txt","w",stdout);
    cin>>s;
    st[2]='\n';
    int keyLength = strlen(key);
    REP(i,s.size())
    {
        st[0] = s[i], st[1] = s[i+1];
        sscanf(st,"%x",content+i/2);
        i++;
    }
   // puts(key);
    //printf("size=%d keyLength = %d\n",s.size()/2,keyLength);
    //REP(i,s.size()/2) printf("%.2x",content[i]);
    /*REP(i,256) if((content[0]^i)=='#') cout<<i<<" ";
    REP(i,256) if((content[1]^i)=='i') cout<<i<<" ";
        REP(i,256) if((content[2]^i)=='n') cout<<i<<" ";
    REP(i,256) if((content[3]^i)=='c') cout<<i<<" ";
        REP(i,256) if((content[4]^i)=='l') cout<<i<<" ";
    REP(i,256) if((content[5]^i)=='u') cout<<i<<" ";
            REP(i,256) if((content[6]^i)=='d') cout<<i<<" ";
    REP(i,256) if((content[7]^i)=='e') cout<<i<<" ";
    */
    int len = s.size()/2;
    REP(i,len)
    {
       // printf("pos = %d\n",i);
        REP(j,keyLength) printf("%c",content[i+j]^key[j]);
        i+=keyLength-1;
        //cout<<endl;
    }

   // printf("%d(%c)\n",(content[93] ^ ' '),(content[93] ^ ' '));
    /*FOR(i,21,24)
    {
        REP(j,256)
        {
            bool f = true;
            for(int k=i;k<len;k+=24) if((content[k]^j)>127)
            {
                f= false;
            }
            if(f)
            {
                printf("pos = %d c=%c key = %d(%c)?\n",i,content[i]^j,j,j);
               // system("pause");
                //if(c=='y') break;
            }
        }
    }*/

	return 0;
}
//71060c02241a1122
/*
71060c02241a11224f52144754595f6a1d515d08003b521733060c49614f0e4d4f4e4713595e44641b4f6a415f7f4970724f42412e0007674707094710591079555f6c41076f4e5a3c54420863445c671464471310101064554f310e1c6f5a133c1b420b68525577544e0d130c105e7f55057c4a476f0970724f4241684f55674f4e4713565f42645d0639154e245247725f5941234f4967015547581b1b19640e6577414e6f525a724f4241684f55674f4e5c3910101064554f77414e6f525a2f654241684f55674f4e1a3910101064086577414e6f5d55060707412
*/
